package com.sinotopia.atlantis.core.common.service;

import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.mapper.Wrapper;

import com.sinotopia.atlantis.core.common.entity.tree.TreeNode;
import com.sinotopia.atlantis.core.query.data.Queryable;

public interface ITreeCommonService<T extends Serializable & TreeNode<ID>, ID extends Serializable>
        extends ICommonService<T> {

    /**
     * @param wrapper
     * @return
     */
    List<T> selectTreeList(Wrapper<T> wrapper);

    /**
     * @param queryable
     * @param wrapper
     * @return
     */
    List<T> selectTreeList(Queryable queryable, Wrapper<T> wrapper);
}